---
title: "Nutzungsstatistiken 2020"
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: fill
source_code: embed
# self_contained: false
# https://stackoverflow.com/questions/54643852/how-to-reduce-the-size-of-flexdashboards
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE,
message = FALSE,
warning = FALSE,
options(scipen = 999))
library(flexdashboard)
library(readxl)
library(tidyverse)
library(lubridate)
library(gt)
library(janitor)
library(scales)
#library(DT)
library(plotly)
library(gameofthrones)
# Ressources:
# https://towardsdatascience.com/building-an-hr-dashboard-in-r-using-flexdashboard-76d14ed3f32
# https://rmarkdown.rstudio.com/flexdashboard/using.html
```
Dash 2020 {data-icon="fa-globe"}
=====================================
Row {data-width=150, data-height=200}
-----------------------------------------------------------------------
### Suchen in Primo (im Vergleich zum Vorjahr 2019)
```{r}
articles <- "+16 %"
valueBox(articles,
icon = "fa-search-plus",
color = "#36AFAEFF",
href = "#primo")
```
### Besuche der Website (im Vergleich zum Vorjahr 2019)
```{r}
comments <- "+28 %"
valueBox(comments,
icon = "fa-user-check",
color = "#36AFAEFF",
href = "#website")
```
### Ausleihe von Büchern (im Vergleich zum Vorjahr 2019)
```{r}
spam <- "-50 %"
valueBox(spam,
icon = "fa-book",
color = "#747374FF",
href="#ausleihen")
```
```{r eval=FALSE}
###
#Die Zahl bezieht sich auf die prozentuale Veränderung zum Vorjahr 2019.
```
Row {data-width=150, data-height=200}
-----------------------------------------------------------------------
### Downloads aus E-Books von Springer (im Vergleich zum Vorjahr 2019)
```{r}
articles <- "+13 %"
valueBox(articles,
icon = "fa-search-plus",
color = "#36AFAEFF",
href = "#primo")
```
### Downloads aus E-Journals von Springer (im Vergleich zum Vorjahr 2019)
```{r}
articles <- "+25 %"
valueBox(articles,
icon = "fa-search-plus",
color = "#36AFAEFF",
href = "#primo")
```
Row
-----------------------------------------------------------------------
Primo {data-orientation=columns}
=====================================
Column {data-width=400, data-height=400}
-----------------------------------------------------------------------
### Primo A
```{r}
Primo_Stat_Auswertungen <-
read_excel(
"T:/Statistik/ALMA_ART/Primo_Stat_Auswertungen.xlsx",
sheet = "R_1",
col_types = c("date",
"text", "numeric")
)
```
```{r}
Primo <- Primo_Stat_Auswertungen %>%
mutate(Year = year(Date)) %>%
group_by(Year, Action) %>%
summarise(Value = sum(Value))
```
```{r}
Primo_3 <- Primo %>%
summarise(Search_Total = sum(Value)) %>%
mutate(Percent_Change = (Search_Total / (lag(Search_Total)) - 1))
```
```{r}
pal <- got(2, option = "Jon_Snow", direction = 1)
p1 <- ggplot(Primo, aes(x = Year, y = Value)) +
geom_col(aes(fill = Action), position = "dodge") +
theme_classic() +
labs(
title = "Primo: Anzahl Suchen von 2018 bis 2020",
subtitle = "",
fill = "Suchen",
y = "",
x = ""
) +
scale_fill_manual(values = pal) +
theme(legend.position = "bottom")
ggplotly(p1) %>%
layout(legend = list(orientation = "h", y = -0.1))
#+
# facet_wrap(~Date)
```
Column {data-width=200, data-height=200}
-----------------------------------------------------------------------
### Primo B
```{r}
Primo_2 <- Primo %>%
spread(key = Year, value = Value) %>%
adorn_totals("row")
```
```{r}
gt(Primo_3) %>%
tab_header(title = md("Suchen in Primo"))
```
Website {data-orientation=columns}
=====================================
Column
-----------------------------------------------------------------------
### Chart A
```{r}
Website_Besuche <- read_excel(
"T:/Statistik/ALMA_ART/Website.xlsx",
sheet = "Besuche",
col_types = c("numeric",
"text", "numeric")
)
```
```{r}
Website_Besuche_2 <- Website_Besuche %>%
group_by(Action) %>%
# filter(Action == "Besuche") %>%
mutate(Percent_Change = (Value / (lag(Value)) - 1))
```
```{r}
pal <- got(2, option = "Jon_Snow", direction = 1)
p1 <- ggplot(Website_Besuche, aes(x = Date, y = Value)) +
geom_col(aes(fill = Action), position = "dodge") +
theme_classic() +
scale_fill_manual(values = pal) +
labs(title = "Website: Besuche und Seitenansichten 2018 bis 2020",
fill = "",
y = "",
x = "")
ggplotly(p1)
```
### Chart B
```{r}
Website_OS <- read_excel(
"T:/Statistik/ALMA_ART/Website.xlsx",
sheet = "Desktop",
col_types = c("text", "text", "numeric")
)
```
```{r}
pal <- got(3, option = "Jon_Snow", direction = -1)
p1 <- Website_OS %>%
filter(date == "2020") %>%
plot_ly(marker = list(colors = pal)) %>%
add_pie(labels = Website_OS$action,
values = Website_OS$value,
hole = 0.6) %>%
layout(title = "Website: Verwendung Betriebssysteme 2020")
p1
```
Column
-----------------------------------------------------------------------
### Chart C
```{r}
Website_Users <- read_excel(
"T:/Statistik/ALMA_ART/Website.xlsx",
sheet = "Users",
col_types = c("date", "numeric", "numeric")
)
pal <- got(3, option = "Jon_Snow", direction = 1)
```
```{r}
Website_Users_2 <- Website_Users %>%
mutate(month = as.factor(month(date, label = T, abb = T))) %>%
mutate(year = as.factor(year(date)))
p2 <-
ggplot(Website_Users_2, aes(x = month, y = visits, color = year)) +
geom_point(size = 2) +
geom_line(aes(x = month, y = visits, group = year), size = 1) +
theme(axis.text.x = element_text(angle = 90)) +
# scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_color_manual(values = pal) +
labs(
title = "Website: Besuche 2018 bis 2020",
y = "Besuche",
x = "",
color = ""
)
ggplotly(p2)
```
### Chart D
```{r}
Website_Users_2 <- Website_Users %>%
mutate(month = as.factor(month(date, label = T, abb = T))) %>%
mutate(year = as.factor(year(date)))
#%>%
# filter(date >= "2019-01-01")
p1 <-
ggplot(Website_Users_2, aes(x = month, y = unique_users, color = year)) +
geom_point(size = 2) +
geom_line(aes(x = month, y = unique_users, group = year), size = 1) +
theme(axis.text.x = element_text(angle = 90)) +
# scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_color_manual(values = pal) +
labs(
title = "Website: Unique Users 2018 bis 2020",
y = "Unique Users",
x = "",
color = ""
)
ggplotly(p1)
```
Ausleihen {data-orientation=columns}
=====================================
Column {data-width=400, data-height=400}
-----------------------------------------------------------------------
### Ausleihen
```{r}
Ausleihen <- read_excel(
"T:/Statistik/ALMA_ART/Ausleihen.xlsx",
sheet = "Ausleihen_R",
col_types = c("text",
"numeric", "numeric", "numeric",
"numeric"),
na = "NA"
)
```
```{r}
pal <- got(12, option = "Jon_Snow", direction = -1)
p1 <-
ggplot(Ausleihen, aes(x = Jahr, y = Ausleihen_u_Verl)) +
geom_col(fill = pal[1]) +
theme(axis.text.x = element_text(angle = 90)) +
# scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(
title = "Ausleihen alle Standorte 2007 bis 2020",
y = "Ausleihen",
x = "",
color = ""
)
ggplotly(p1)
```
```{r}
Ausleihen %>%
mutate(Percent_Change = (Ausleihen_u_Verl / (lag(Ausleihen_u_Verl)) -
1))
```